import urllib.request
import urllib.parse
import json

# 基于Ajax的get请求

url = 'https://movie.douban.com/j/chart/top_list?type=5&interval_id=100%3A90&action=&start=0&limit=20'
headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36'
}

request = urllib.request.Request(url, headers=headers)
response = urllib.request.urlopen(request)
html = response.read().decode('utf-8')
data = json.loads(html)
# print(data)

# 下载数据到本地
# open方法默认情况下使用的是gbk的编码如果我们要想保存汉字那么需要在open方法中指定编码格式为utf-8
with open('douban.json', 'w', encoding='utf-8') as fp:
    # 使用 json.dumps 将列表转换为字符串
    json_str = json.dumps(data, ensure_ascii=False, indent=4)
    fp.write(json_str)

print("数据已成功写入到 douban.json 文件中")
